▷ 如何通过VBA在Excel中求平均值? 您所在的位置:网站首页 excel average函数精度 ▷ 如何通过VBA在Excel中求平均值?

▷ 如何通过VBA在Excel中求平均值?

2024-07-10 00:15| 来源: 网络整理| 查看: 265

在Excel中,您可以使用VBA计算一系列单元格或多个区域的平均值。并且,在本教程中,我们将学习使用它的不同方法。

使用 WorksheetFunction 在 VBA 中求平均值

在 VBA 中,您可以使用多个函数,但没有用于此目的的特定函数。这并不意味着我们不能取平均值。在VBA中,有一个名为WorksheetFunction的属性可以帮助您在VBA代码中调用函数。

使用电子表格函数在vba中求平均值

让我们对 A1:A10 范围内的值进行平均。

首先输入工作表函数属性,然后从列表中选择 AVERAGE 函数。 worksheet-function-average接下来,您必须像在电子表格中输入函数时一样输入起始括号。 enter-starting-paranthesis之后,我们需要使用范围对象来引用我们要计算平均值的范围。 use-the-range-object最后,键入右括号并将函数的返回值分配给单元格 B1。 type-close-pranthesis Application.WorksheetFunction.Average( Range ("A1:A10"))

现在,当您运行此代码时,它会计算 A1:A10 范围内的值的平均值,并将该值输入到单元格 B1 中。

运行代码计算平均值整列或整行的平均值

在这种情况下,您只需要指定行或列,而不是我们在上一个示例中使用的范围。

'for the entire column A Range ("B1") = Application.WorksheetFunction.Average( Range ("A:A")) 'for entire row 1 Range ("B1") = Application.WorksheetFunction.Average( Range ("1:1"))使用 VBA 对选择值进行平均

现在假设您只想计算所选单元格的平均值,因为您可以使用这样的代码。

Sub vba_average_selection() Dim sRange As Range Dim iAverage As Long On Error GoTo errorHandler Set sRange = Selection iAverage = WorksheetFunction.Average(Range(sRange.Address)) MsgBox iAverage Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

在上面的代码中,我们使用了选择,然后将其指定在变量“sRange”中,然后我们使用该范围变量的地址来获取平均值。

VBA平均以上所有单元格

以下代码获取上面所有单元格及其平均值,并将结果输入到所选单元格中。

Sub vba_auto_Average() Dim iFirst As String Dim iLast As String Dim iRange As Range On Error GoTo errorHandler iFirst = Selection. End (xlUp). End (xlUp).Address iLast = Selection. End (xlUp).Address Set iRange = Range(iFirst & ":" & iLast) ActiveCell = WorksheetFunction.Average(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub使用 VBA 平均动态范围

同样,您可以使用动态范围,同时使用 VBA 对值进行平均。

Sub vba_dynamic_range_average() Dim iFirst As String Dim iLast As String Dim iRange As Range On Error GoTo errorHandler iFirst = Selection.Offset(1, 1).Address iLast = Selection.Offset(5, 5).Address Set iRange = Range(iFirst & ":" & iLast) ActiveCell = WorksheetFunction.Average(iRange) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub平均动态列或行

同样,如果您想使用动态列,您可以使用以下代码,该代码将获取活动单元格的列以及其中所有值的平均值。

Sub vba_dynamic_column() Dim iCol As Long On Error GoTo errorHandler iCol = ActiveCell.Column MsgBox WorksheetFunction.Average(Columns(iCol)) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub

并连续。

Sub vba_dynamic_row() Dim iRow As Long On Error GoTo errorHandler iRow = ActiveCell.Row MsgBox WorksheetFunction.Average(Rows(iCol)) Exit Sub errorHandler: MsgBox "make sure to select a valid range of cells" End Sub 什么是VBA相关教程使用 VBA 获取今天的日期和当前时间使用 VBA 在 Excel 中求和值VBA 中的匹配函数VBA 中的 MOD VBA随机数


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有